home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xa / SchemaWin.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  27.2 KB  |  872 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.app.ApplicationPreferences;
  4. import com.extensibility.app.BaseAction;
  5. import com.extensibility.app.BaseApplication;
  6. import com.extensibility.app.BaseDocument;
  7. import com.extensibility.app.BaseToolBar;
  8. import com.extensibility.app.BaseWindow;
  9. import com.extensibility.app.BasicDialog;
  10. import com.extensibility.app.Desktop;
  11. import com.extensibility.app.DialogFactory;
  12. import com.extensibility.app.EditWindow;
  13. import com.extensibility.app.UI;
  14. import com.extensibility.convert.BaseImportDialog;
  15. import com.extensibility.convert.MetaSpectIntf;
  16. import com.extensibility.plugin.api.PrintHtml10;
  17. import com.extensibility.print.HtmlPrinter;
  18. import com.extensibility.rock.BaseMenu;
  19. import com.extensibility.rock.GifEncoder;
  20. import com.extensibility.rock.ImageEncoder;
  21. import com.extensibility.rock.QuietBtn;
  22. import com.extensibility.rock.RAction;
  23. import com.extensibility.rock.RTable;
  24. import com.extensibility.rock.diagram.Diagram;
  25. import com.extensibility.xml.BaseDeclaration;
  26. import com.extensibility.xml.ExternalSubset;
  27. import com.extensibility.xml.ExtraMetaDataUIIntf;
  28. import com.extensibility.xml.FlavorRegistry;
  29. import com.extensibility.xml.ParserException;
  30. import com.extensibility.xml.SchemaIntf;
  31. import com.extensibility.xml.URI;
  32. import java.awt.Component;
  33. import java.awt.Dialog;
  34. import java.awt.Window;
  35. import java.awt.event.ActionEvent;
  36. import java.io.DataInputStream;
  37. import java.io.File;
  38. import java.io.FileInputStream;
  39. import java.io.FileOutputStream;
  40. import java.io.FilterInputStream;
  41. import java.io.IOException;
  42. import java.util.Enumeration;
  43. import java.util.Vector;
  44. import javax.swing.JFrame;
  45. import javax.swing.JMenuBar;
  46. import javax.swing.JMenuItem;
  47. import javax.swing.JPopupMenu;
  48. import javax.swing.JTextArea;
  49. import javax.swing.JToolBar;
  50. import javax.swing.text.JTextComponent;
  51.  
  52. public abstract class SchemaWin extends EditWindow {
  53.    private static final int IS_EXTERNAL_ITEM = 32768;
  54.    private static final int BASE_ITEM_MASK = 32767;
  55.    SchemaDocListener docListener = new 1(this);
  56.    BaseToolBar toolbar;
  57.    BaseMenu muSubToolbar;
  58.    BaseMenu muSubWindow;
  59.    BaseMenu muImport;
  60.    BaseMenu muExport;
  61.    BaseMenu muDefine;
  62.    BaseMenu muEditReusable;
  63.    BaseMenu muTools;
  64.    BaseMenu muView;
  65.    JMenuItem miDefineCM;
  66.    JMenuItem miDefineAG;
  67.    JMenuItem miDefineConstraint;
  68.    JMenuItem miDefineText;
  69.    JMenuItem miEditReusableCM;
  70.    JMenuItem miEditReusableAG;
  71.    JMenuItem miEditReusableConstraint;
  72.    JMenuItem miEditReusableText;
  73.  
  74.    public SchemaWin(BaseDocument var1) {
  75.       super(var1);
  76.    }
  77.  
  78.    public void initialize(ApplicationPreferences var1) {
  79.       super.initialize(var1);
  80.       ((SchemaDoc)((BaseWindow)this).getDocument()).addDocumentListener(this.docListener);
  81.    }
  82.  
  83.    public SchemaDoc getSchemaDoc() {
  84.       return (SchemaDoc)((BaseWindow)this).getDocument();
  85.    }
  86.  
  87.    public SchemaIntf getSchema() {
  88.       return this.getSchemaDoc().getSchema();
  89.    }
  90.  
  91.    protected void setEditEnable() {
  92.       boolean var1 = this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_CONTENTMODEL") || this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_ATTRIBUTEGROUP") || this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_CONSTRAINTS") || this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_TEXT");
  93.       this.muDefine.setEnabled(var1);
  94.       this.muEditReusable.setEnabled(var1);
  95.       var1 = this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_CONTENTMODEL");
  96.       this.miDefineCM.setEnabled(var1);
  97.       this.miEditReusableCM.setEnabled(var1);
  98.       var1 = this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_ATTRIBUTEGROUP");
  99.       this.miDefineAG.setEnabled(var1);
  100.       this.miEditReusableAG.setEnabled(var1);
  101.       var1 = this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_CONSTRAINTS");
  102.       this.miDefineConstraint.setEnabled(var1);
  103.       this.miEditReusableConstraint.setEnabled(var1);
  104.       var1 = this.getSchemaDoc().getSchema().getFlavor().isSupported("GESTALT_REUSABLE_TEXT");
  105.       this.miDefineText.setEnabled(var1);
  106.       this.miEditReusableText.setEnabled(var1);
  107.    }
  108.  
  109.    public void showErrorPane(boolean var1) {
  110.    }
  111.  
  112.    public void hideErrorPane() {
  113.    }
  114.  
  115.    public void showFilePane(ParserException var1) {
  116.    }
  117.  
  118.    public void updateNewSubMenuItems(String var1) {
  119.       super.muNew.removeAll();
  120.       ((BaseWindow)this).createNewAction(var1).addToMenu(super.muNew);
  121.       super.muNew.addSeparator();
  122.       int var2 = -1;
  123.       String[] var3 = FlavorRegistry.getDefaultRegistry().getFlavorNames();
  124.  
  125.       for(int var4 = 0; var4 < var3.length; ++var4) {
  126.          if (var3[var4].equals("xams")) {
  127.             var2 = var4;
  128.          } else {
  129.             this.createNewFlavorAction(var3[var4]).addToMenu(super.muNew);
  130.          }
  131.       }
  132.  
  133.       if (var2 > -1) {
  134.          super.muNew.addSeparator();
  135.          this.createNewFlavorAction(var3[var2]).addToMenu(super.muNew);
  136.       }
  137.  
  138.    }
  139.  
  140.    protected void addOtherMenus(JMenuBar var1) {
  141.       super.addOtherMenus(var1);
  142.       this.muView = (BaseMenu)var1.add(new BaseMenu(UI.getString("menu.view")));
  143.       this.muView.setMnemonic(UI.getMnemonic("menu.view"));
  144.       this.fillViewMenu();
  145.       this.muTools = (BaseMenu)var1.add(new BaseMenu(UI.getString("menu.tools")));
  146.       this.muTools.setMnemonic(UI.getMnemonic("menu.tools"));
  147.       this.createPrependAction().addToMenu(this.muTools);
  148.       this.muTools.addSeparator();
  149.       this.createCheckErrorsAction().addToMenu(this.muTools);
  150.    }
  151.  
  152.    protected void fillEditMenu() {
  153.       ((EditWindow)this).createUndoAction().addToMenu(super.muEdit);
  154.       ((EditWindow)this).createRedoAction().addToMenu(super.muEdit);
  155.       super.muEdit.addSeparator();
  156.       ((EditWindow)this).createCutAction().addToMenu(super.muEdit);
  157.       ((EditWindow)this).createCopyAction().addToMenu(super.muEdit);
  158.       ((EditWindow)this).createPasteAction().addToMenu(super.muEdit);
  159.       ((EditWindow)this).createClearAction().addToMenu(super.muEdit);
  160.       super.muEdit.addSeparator();
  161.       ((EditWindow)this).createFindAction().addToMenu(super.muEdit);
  162.       ((EditWindow)this).createFindAgainAction().addToMenu(super.muEdit);
  163.       ((EditWindow)this).createReplaceAction().addToMenu(super.muEdit);
  164.       ((EditWindow)this).createReplaceAgainAction().addToMenu(super.muEdit);
  165.       super.muEdit.addSeparator();
  166.       this.muDefine = new BaseMenu(UI.getString("menu.define"));
  167.       this.muDefine.setMnemonic(UI.getMnemonic("menu.define"));
  168.       super.muEdit.add(this.muDefine);
  169.       this.miDefineCM = this.createDefineContentModelAction().addToMenu(this.muDefine);
  170.       this.miDefineAG = this.createDefineAttributeSetAction().addToMenu(this.muDefine);
  171.       this.miDefineConstraint = this.createDefineConstraintsAction().addToMenu(this.muDefine);
  172.       this.miDefineText = this.createDefineTextAction().addToMenu(this.muDefine);
  173.       this.muEditReusable = new BaseMenu(UI.getString("menu.er"));
  174.       this.muEditReusable.setMnemonic(UI.getMnemonic("menu.er"));
  175.       super.muEdit.add(this.muEditReusable);
  176.       this.miEditReusableCM = this.createEditContentModelAction().addToMenu(this.muEditReusable);
  177.       this.miEditReusableAG = this.createEditAttributeSetAction().addToMenu(this.muEditReusable);
  178.       this.miEditReusableConstraint = this.createEditConstraintsAction().addToMenu(this.muEditReusable);
  179.       this.miEditReusableText = this.createEditTextAction().addToMenu(this.muEditReusable);
  180.       super.muEdit.addSeparator();
  181.       ((BaseWindow)this).createPreferencesAction().addToMenu(super.muEdit);
  182.       this.setEditEnable();
  183.    }
  184.  
  185.    protected void fillViewMenu() {
  186.       this.muView.addAsCheckBox(BaseApplication.getApplication().createToolbarAction());
  187.       this.muView.addSeparator();
  188.       this.createOverviewAction().addToMenu(this.muView);
  189.       this.createElementsAction().addToMenu(this.muView);
  190.       this.createAttributesAction().addToMenu(this.muView);
  191.       this.createAdvancedAction().addToMenu(this.muView);
  192.       this.createCommentsAction().addToMenu(this.muView);
  193.       this.createSourceAction().addToMenu(this.muView);
  194.       this.createErrorsAction().addToMenu(this.muView);
  195.    }
  196.  
  197.    protected void fillHelpMenu() {
  198.       ((BaseWindow)this).createWelcomeAction().addToMenu(super.muHelp);
  199.       super.muHelp.addSeparator();
  200.       BaseWindow.createHelpAction("help.item.tour").addToMenu(super.muHelp);
  201.       BaseWindow.createHelpAction("help.item.start").addToMenu(super.muHelp);
  202.       BaseWindow.createHelpAction("help.item.results").addToMenu(super.muHelp);
  203.       BaseWindow.createHelpAction("help.item.tips").addToMenu(super.muHelp);
  204.       BaseWindow.createHelpAction("help.item.index").addToMenu(super.muHelp);
  205.       super.muHelp.addSeparator();
  206.       BaseWindow.createHelpAction("help.item.why").addToMenu(super.muHelp);
  207.       BaseWindow.createHelpAction("help.item.hood").addToMenu(super.muHelp);
  208.       BaseWindow.createHelpAction("help.item.faq").addToMenu(super.muHelp);
  209.       super.muHelp.addSeparator();
  210.       BaseWindow.createHelpAction("help.item.glossary").addToMenu(super.muHelp);
  211.       super.muHelp.addSeparator();
  212.       if (BaseApplication.isLaunchLimited()) {
  213.          ((BaseWindow)this).createPurchaseAction().addToMenu(super.muHelp);
  214.          ((BaseWindow)this).createRegisterAction().addToMenu(super.muHelp);
  215.          super.muHelp.addSeparator();
  216.       }
  217.  
  218.       ((BaseWindow)this).createAboutAction().addToMenu(super.muHelp);
  219.    }
  220.  
  221.    protected void fillFileMenu() {
  222.       super.muFile.add(super.muNew);
  223.       ((BaseWindow)this).createOpenAction().addToMenu(super.muFile);
  224.       ((BaseWindow)this).createOpenURLAction().addToMenu(super.muFile);
  225.       ((EditWindow)this).createCloseAction().addToMenu(super.muFile);
  226.       super.muFile.addSeparator();
  227.       this.createSchemaInfoAction().addToMenu(super.muFile);
  228.       super.muFile.addSeparator();
  229.       this.muImport = new BaseMenu(UI.getString("menu.import"));
  230.       this.muImport.setMnemonic(UI.getMnemonic("menu.import"));
  231.       this.createImportXMLAction(this.getSchemaDoc()).addToMenu(this.muImport);
  232.       this.createImportInternalSubsetAction(this.getSchemaDoc()).addToMenu(this.muImport);
  233.       this.createImportSGMLAction(this.getSchemaDoc()).addToMenu(this.muImport);
  234.       this.createImportTextFileAction(this.getSchemaDoc()).addToMenu(this.muImport);
  235.       this.muImport.addSeparator();
  236.       this.createImportJavaClassAction(this.getSchemaDoc()).addToMenu(this.muImport);
  237.       this.createImportODBCAction(this.getSchemaDoc()).addToMenu(this.muImport);
  238.       this.createImportComObjectAction(this.getSchemaDoc()).addToMenu(this.muImport);
  239.       this.createImportLDAPAction(this.getSchemaDoc()).addToMenu(this.muImport);
  240.       this.createImportPluginItems(this.muImport);
  241.       super.muFile.add(this.muImport);
  242.       this.muExport = new BaseMenu(UI.getString("menu.export"));
  243.       this.muExport.setMnemonic(UI.getMnemonic("menu.export"));
  244.       JMenuItem var1 = this.createExportDTDAction().addToMenu(this.muExport);
  245.       if (Authority.isBizTalkOnly()) {
  246.          var1.setEnabled(false);
  247.       }
  248.  
  249.       var1 = this.createExportXDRAction().addToMenu(this.muExport);
  250.       if (Authority.isBizTalkOnly()) {
  251.          var1.setEnabled(false);
  252.       }
  253.  
  254.       var1 = this.createExportBizTalkAction().addToMenu(this.muExport);
  255.       if (Authority.isBizTalkOnly()) {
  256.          var1.setEnabled(false);
  257.       }
  258.  
  259.       var1 = this.createExportSOX2Action().addToMenu(this.muExport);
  260.       if (Authority.isBizTalkOnly()) {
  261.          var1.setEnabled(false);
  262.       }
  263.  
  264.       var1 = this.createExportXSDLAction().addToMenu(this.muExport);
  265.       if (Authority.isBizTalkOnly()) {
  266.          var1.setEnabled(false);
  267.       }
  268.  
  269.       var1 = this.createExportOSCAction().addToMenu(this.muExport);
  270.       if (Authority.isBizTalkOnly()) {
  271.          var1.setEnabled(false);
  272.       }
  273.  
  274.       this.muExport.addSeparator();
  275.       this.createExportExemplarAction().addToMenu(this.muExport);
  276.       this.muExport.addSeparator();
  277.       var1 = this.createExportDCDAction().addToMenu(this.muExport);
  278.       if (Authority.isBizTalkOnly()) {
  279.          var1.setEnabled(false);
  280.       }
  281.  
  282.       var1 = this.createExportDDMLAction().addToMenu(this.muExport);
  283.       if (Authority.isBizTalkOnly()) {
  284.          var1.setEnabled(false);
  285.       }
  286.  
  287.       var1 = this.createExportRELAXAction().addToMenu(this.muExport);
  288.       if (Authority.isBizTalkOnly()) {
  289.          var1.setEnabled(false);
  290.       }
  291.  
  292.       super.muFile.add(this.muExport);
  293.       super.muFile.addSeparator();
  294.       ((EditWindow)this).createSaveAction().addToMenu(super.muFile);
  295.       ((EditWindow)this).createSaveAsAction().addToMenu(super.muFile);
  296.       ((EditWindow)this).createSaveToURLAction().addToMenu(super.muFile);
  297.       this.createSaveDiagramAsAction().addToMenu(super.muFile);
  298.       super.muFile.addSeparator();
  299.       ((BaseWindow)this).createPrintSetupAction().addToMenu(super.muFile);
  300.       ((BaseWindow)this).createPrintAction().addToMenu(super.muFile);
  301.       super.muFile.addSeparator();
  302.       ((BaseWindow)this).createRecentMenuItems();
  303.       ((BaseWindow)this).createExitAction().addToMenu(super.muFile);
  304.    }
  305.  
  306.    public void updateToolBarView() {
  307.       int var1 = BaseApplication.getPreferences().getToolbarView();
  308.       if (this.toolbar != null) {
  309.          ((JFrame)this).getContentPane().remove(this.toolbar);
  310.          this.toolbar = null;
  311.          ((JFrame)this).getContentPane().doLayout();
  312.       }
  313.  
  314.       this.createToolBar(var1);
  315.       if (this.toolbar != null && !((JFrame)this).getContentPane().isAncestorOf(this.toolbar)) {
  316.          ((JFrame)this).getContentPane().add(this.toolbar, "North");
  317.       }
  318.  
  319.       ((JFrame)this).getContentPane().doLayout();
  320.    }
  321.  
  322.    public void uriUpdateNotify(URI var1, URI var2) {
  323.    }
  324.  
  325.    public ExtraMetaDataUIIntf getExtraMetaDataUI() {
  326.       return this.getSchemaDoc().getExtraMetaDataUI();
  327.    }
  328.  
  329.    protected JToolBar createToolBar() {
  330.       return this.createToolBar(BaseApplication.getPreferences().getToolbarView());
  331.    }
  332.  
  333.    protected JToolBar createToolBar(int var1) {
  334.       if (var1 == 0) {
  335.          return null;
  336.       } else {
  337.          if (this.toolbar == null) {
  338.             this.toolbar = new BaseToolBar();
  339.          }
  340.  
  341.          this.toolbar.setFloatable(false);
  342.          QuietBtn var2 = new QuietBtn(UI.getString("tb.new"), UI.getIcon("tbNew.gif"), ((BaseWindow)this).createNewAction(BaseApplication.getPreferences().getDefaultFileType()), false);
  343.          this.toolbar.add(var2);
  344.          var2 = new QuietBtn(UI.getString("tb.open"), UI.getIcon("tbOpen.gif"), ((BaseWindow)this).createOpenAction(), false);
  345.          this.toolbar.add(var2);
  346.          var2 = new QuietBtn(UI.getString("tb.save"), UI.getIcon("tbSave.gif"), ((EditWindow)this).createSaveAction(), false);
  347.          this.toolbar.add(var2);
  348.          var2 = new QuietBtn(UI.getString("tb.print"), UI.getIcon("tbPrint.gif"), ((BaseWindow)this).createPrintAction(), false);
  349.          this.toolbar.add(var2);
  350.          this.toolbar.addSeparator();
  351.          var2 = new QuietBtn(UI.getString("tools.item.check.errors"), UI.getIcon("tbCheck.gif"), this.createCheckErrorsAction(), false);
  352.          this.toolbar.add(var2);
  353.          this.toolbar.addSeparator();
  354.          var2 = new QuietBtn(UI.getString("tb.over"), UI.getIcon("tbOver.gif"), this.createOverviewAction(), var1 == 1);
  355.          this.toolbar.add(var2);
  356.          var2 = new QuietBtn(UI.getString("tb.elem"), UI.getIcon("tbElem.gif"), this.createElementsAction(), var1 == 1);
  357.          this.toolbar.add(var2);
  358.          var2 = new QuietBtn(UI.getString("tb.attr"), UI.getIcon("tbAttr.gif"), this.createAttributesAction(), var1 == 1);
  359.          this.toolbar.add(var2);
  360.          if (var1 == 1) {
  361.             var2 = new QuietBtn(UI.getString("tb.adv"), UI.getIcon("tbAdv.gif"), this.createAdvancedAction(), true);
  362.             this.toolbar.add(var2);
  363.          }
  364.  
  365.          var2 = new QuietBtn(UI.getString("tb.note"), UI.getIcon("tbNote.gif"), this.createCommentsAction(), var1 == 1);
  366.          this.toolbar.add(var2);
  367.          this.toolbar.addSeparator();
  368.          var2 = new QuietBtn(UI.getString("tb.source"), UI.getIcon("tbSrc.gif"), this.createSourceAction(), false);
  369.          this.toolbar.add(var2);
  370.          return this.toolbar;
  371.       }
  372.    }
  373.  
  374.    protected RAction createNewFlavorAction(String var1) {
  375.       return new 2(var1, (SchemaWin)null, UI.getFileTypeName(var1));
  376.    }
  377.  
  378.    protected BaseAction createSchemaInfoAction() {
  379.       return new 3(this, "file.item.info", 'I');
  380.    }
  381.  
  382.    protected BaseAction createSaveDiagramAsAction() {
  383.       return new 4(this, "file.item.save.diagram.as");
  384.    }
  385.  
  386.    protected RAction createExpandAction() {
  387.       return new 5((SchemaWin)null, "edit.item.expand", 'E');
  388.    }
  389.  
  390.    protected BaseAction createLockAction() {
  391.       return new 6((SchemaWin)null, "edit.item.lock", 'L');
  392.    }
  393.  
  394.    protected BaseAction createDefineContentModelAction() {
  395.       return new 7(this, "define.item.model");
  396.    }
  397.  
  398.    protected BaseAction createDefineAttributeSetAction() {
  399.       return new 8(this, "define.item.attr");
  400.    }
  401.  
  402.    protected BaseAction createDefineConstraintsAction() {
  403.       return new 9(this, "define.item.constraints");
  404.    }
  405.  
  406.    protected BaseAction createDefineTextAction() {
  407.       return new 10(this, "define.item.text");
  408.    }
  409.  
  410.    protected BaseAction createEditContentModelAction() {
  411.       return new 11(this, "er.item.model");
  412.    }
  413.  
  414.    protected BaseAction createEditAttributeSetAction() {
  415.       return new 12(this, "er.item.attr");
  416.    }
  417.  
  418.    protected BaseAction createEditConstraintsAction() {
  419.       return new 13(this, "er.item.constraints");
  420.    }
  421.  
  422.    protected BaseAction createEditTextAction() {
  423.       return new 14(this, "er.item.text");
  424.    }
  425.  
  426.    protected BaseAction createOverviewAction() {
  427.       return null;
  428.    }
  429.  
  430.    protected BaseAction createElementsAction() {
  431.       return null;
  432.    }
  433.  
  434.    protected BaseAction createAttributesAction() {
  435.       return null;
  436.    }
  437.  
  438.    protected BaseAction createAdvancedAction() {
  439.       return null;
  440.    }
  441.  
  442.    protected BaseAction createGEAction() {
  443.       return null;
  444.    }
  445.  
  446.    protected BaseAction createPEAction() {
  447.       return null;
  448.    }
  449.  
  450.    protected BaseAction createNTAction() {
  451.       return null;
  452.    }
  453.  
  454.    protected BaseAction createPIAction() {
  455.       return null;
  456.    }
  457.  
  458.    protected BaseAction createCommentsAction() {
  459.       return null;
  460.    }
  461.  
  462.    protected BaseAction createSourceAction() {
  463.       return null;
  464.    }
  465.  
  466.    protected BaseAction createNamespaceAction() {
  467.       return null;
  468.    }
  469.  
  470.    protected BaseAction createErrorsAction() {
  471.       return new 15(this, "view.item.errors", '9');
  472.    }
  473.  
  474.    protected BaseAction createCheckErrorsAction() {
  475.       return new 16(this, "tools.item.check.errors", 'K');
  476.    }
  477.  
  478.    protected BaseAction createPrependAction() {
  479.       return new 17(this, "tools.item.prepend");
  480.    }
  481.  
  482.    public void declarationFocused(BaseDeclaration var1) {
  483.    }
  484.  
  485.    protected DeclTable getCurrentTable() {
  486.       return null;
  487.    }
  488.  
  489.    public DeclTable getTableForModel(DeclTableModel var1) {
  490.       return null;
  491.    }
  492.  
  493.    public DeclTable getTableForClass(Class var1) {
  494.       return null;
  495.    }
  496.  
  497.    public void diagramUpdated() {
  498.    }
  499.  
  500.    protected boolean canFind() {
  501.       return this.getCurrentTable() != null;
  502.    }
  503.  
  504.    protected void doFind(String var1, boolean var2) {
  505.       this.getCurrentTable().find(var1, var2);
  506.    }
  507.  
  508.    public String getClassName() {
  509.       return "com.extensibility.xa.SchemaWin";
  510.    }
  511.  
  512.    public String getSelectedText() {
  513.       DeclTable var1 = this.getCurrentTable();
  514.       if (var1 != null) {
  515.          JTextComponent var2 = ((RTable)var1).getCellEditorAsJTextComponent();
  516.          if (var2 != null) {
  517.             return var2.getSelectedText();
  518.          }
  519.       }
  520.  
  521.       return null;
  522.    }
  523.  
  524.    public boolean setSelectedText(String var1) {
  525.       DeclTable var2 = this.getCurrentTable();
  526.       if (var2 != null) {
  527.          JTextComponent var3 = ((RTable)var2).getCellEditorAsJTextComponent();
  528.          if (var3 != null) {
  529.             var3.replaceSelection(var1);
  530.             return true;
  531.          }
  532.       }
  533.  
  534.       return false;
  535.    }
  536.  
  537.    public BaseAction createImportInternalSubsetAction(SchemaDoc var1) {
  538.       return new 18(this, var1);
  539.    }
  540.  
  541.    public BaseAction createImportJavaClassAction(SchemaDoc var1) {
  542.       return new 19(this, var1);
  543.    }
  544.  
  545.    public BaseAction createImportMayXSDAction(SchemaDoc var1) {
  546.       return new 20(this, var1, "xsd.1999.05.06", new String[]{"xsd"});
  547.    }
  548.  
  549.    public BaseAction createImportDecXSDAction(SchemaDoc var1) {
  550.       return new 21(this, var1, "xsd.1999.12.17", new String[]{"xsd"});
  551.    }
  552.  
  553.    public BaseAction createImportSGMLAction(SchemaDoc var1) {
  554.       return new 22((SchemaWin)null, var1);
  555.    }
  556.  
  557.    public BaseAction createImportComObjectAction(SchemaDoc var1) {
  558.       return new 23(this, this.getSchemaDoc());
  559.    }
  560.  
  561.    public void createImportPluginItems(BaseMenu var1) {
  562.       Vector var2 = BaseImportDialog.getUserImporters();
  563.       if (!var2.isEmpty()) {
  564.          var1.addSeparator();
  565.  
  566.          for(int var3 = 0; var3 < var2.size(); ++var3) {
  567.             MetaSpectIntf var4 = (MetaSpectIntf)var2.elementAt(var3);
  568.             ImportMetaActionExt var5 = new ImportMetaActionExt(this, var4, this.getSchemaDoc(), "dialog.import.custom", var4.getPrompt(1));
  569.             var1.add(var5);
  570.          }
  571.  
  572.       }
  573.    }
  574.  
  575.    public BaseAction createImportLDAPAction(SchemaDoc var1) {
  576.       return new 24(this, var1);
  577.    }
  578.  
  579.    public BaseAction createImportODBCAction(SchemaDoc var1) {
  580.       return new 25(this, var1);
  581.    }
  582.  
  583.    public BaseAction createImportTextFileAction(SchemaDoc var1) {
  584.       return new 26(this, var1);
  585.    }
  586.  
  587.    public BaseAction createImportXMLAction(SchemaDoc var1) {
  588.       return new 27(this, var1);
  589.    }
  590.  
  591.    protected BaseAction createExportDCDAction() {
  592.       return new 28(this, "export.item.dcd");
  593.    }
  594.  
  595.    protected BaseAction createExportBizTalkAction() {
  596.       return new 29(this, "export.item.biztalk");
  597.    }
  598.  
  599.    protected BaseAction createExportDTDAction() {
  600.       return new 30(this, "export.item.dtd");
  601.    }
  602.  
  603.    protected BaseAction createExportXDRAction() {
  604.       return new 31(this, "export.item.xml.schema");
  605.    }
  606.  
  607.    protected BaseAction createExportRELAXAction() {
  608.       return new 32(this, "export.item.rlx");
  609.    }
  610.  
  611.    protected BaseAction createExportXSDLAction() {
  612.       return new 33(this, "export.item.xsdl");
  613.    }
  614.  
  615.    protected BaseAction createExportDDMLAction() {
  616.       return new 34(this, "export.item.ddml");
  617.    }
  618.  
  619.    protected BaseAction createExportOSCAction() {
  620.       return new GenericExportAction(this, "export.item.osc", "osc", SchemaIntf.OSC_FLAVOR_NAME, 137);
  621.    }
  622.  
  623.    protected BaseAction createExportSOX2Action() {
  624.       return new GenericExportAction(this, "export.item.sox", "sox", SchemaIntf.SOX2_FLAVOR_NAME, 125);
  625.    }
  626.  
  627.    protected BaseAction createExportExemplarAction() {
  628.       return new 35(this, "export.item.xml");
  629.    }
  630.  
  631.    void buildModuleChangerItems(BaseDeclaration var1, URI var2, JPopupMenu var3) {
  632.       var3.addSeparator();
  633.       SchemaDoc var4 = this.getSchemaDoc();
  634.       Vector var5 = var4.getModuleList();
  635.  
  636.       for(int var6 = 0; var6 < var5.size(); ++var6) {
  637.          ExternalSubset var7 = (ExternalSubset)var5.elementAt(var6);
  638.          URI var8 = var7.getSystemURI();
  639.          if (!var8.equals(var2) && var4.isEditable(var8)) {
  640.             36 var9 = new 36(var1, var8, this, "pop.uri.set", var8.getShortName());
  641.             var3.add(var9);
  642.          }
  643.       }
  644.  
  645.    }
  646.  
  647.    public String createText(String var1) {
  648.       EditTextDialog var2 = new EditTextDialog(this, this.getSchemaDoc(), true, var1);
  649.       ((Dialog)var2).show();
  650.       return var2.canceled ? null : ((CellDialog)var2).getCellOwner();
  651.    }
  652.  
  653.    public void editText(String var1) {
  654.       Enumeration var2 = this.getSchemaDoc().getTextPENames();
  655.       if (var2 != null && var2.hasMoreElements()) {
  656.          EditTextDialog var3 = new EditTextDialog(this, this.getSchemaDoc(), false);
  657.          if (var1 != null) {
  658.             ((CellDialog)var3).select(var1);
  659.          }
  660.  
  661.          ((Dialog)var3).show();
  662.       } else {
  663.          ((Window)this).getToolkit().beep();
  664.       }
  665.    }
  666.  
  667.    public String createConstraint(String var1) {
  668.       EditConstraintsDialog var2 = new EditConstraintsDialog(this, this.getSchemaDoc(), true, var1);
  669.       ((Dialog)var2).show();
  670.       return var2.canceled ? null : ((CellDialog)var2).getCellOwner();
  671.    }
  672.  
  673.    public void editConstraints(String var1) {
  674.       if (!this.getSchemaDoc().getConstraintPENames().hasMoreElements()) {
  675.          ((Window)this).getToolkit().beep();
  676.       } else {
  677.          EditConstraintsDialog var2 = new EditConstraintsDialog(this, this.getSchemaDoc(), false);
  678.          if (var1 != null) {
  679.             ((CellDialog)var2).select(var1);
  680.          }
  681.  
  682.          ((Dialog)var2).show();
  683.       }
  684.    }
  685.  
  686.    public String createModel(String var1) {
  687.       EditModelDialog var2 = new EditModelDialog(this, this.getSchemaDoc(), true, var1);
  688.       ((Dialog)var2).show();
  689.       return var2.canceled ? null : ((CellDialog)var2).getCellOwner();
  690.    }
  691.  
  692.    public void editModel(String var1) {
  693.       if (!this.getSchemaDoc().getContentGroupPENames().hasMoreElements()) {
  694.          ((Window)this).getToolkit().beep();
  695.       } else {
  696.          EditModelDialog var2 = new EditModelDialog(this, this.getSchemaDoc(), false);
  697.          if (var1 != null) {
  698.             ((CellDialog)var2).select(var1);
  699.          }
  700.  
  701.          ((Dialog)var2).show();
  702.       }
  703.    }
  704.  
  705.    public String createAttrSet(String var1) {
  706.       EditAttrListDialog var2 = new EditAttrListDialog(this, this.getSchemaDoc(), true, var1);
  707.       ((Dialog)var2).show();
  708.       return var2.canceled ? null : ((CellDialog)var2).getCellOwner();
  709.    }
  710.  
  711.    public void editAttrSet(String var1) {
  712.       if (!this.getSchemaDoc().getAttrGroupPENames().hasMoreElements()) {
  713.          ((Window)this).getToolkit().beep();
  714.       } else {
  715.          EditAttrListDialog var2 = new EditAttrListDialog(this, this.getSchemaDoc(), false);
  716.          if (var1 != null) {
  717.             ((CellDialog)var2).select(var1);
  718.          }
  719.  
  720.          ((Dialog)var2).show();
  721.       }
  722.    }
  723.  
  724.    public BaseAction createGotoAction(BaseDeclaration var1) {
  725.       return new GotoAction(this, var1);
  726.    }
  727.  
  728.    public void selectDeclaration(BaseDeclaration var1) {
  729.    }
  730.  
  731.    public boolean saveDiagramAs(ActionEvent var1) {
  732.       File var2 = DialogFactory.askNewFile(Desktop.getDialogParent(var1), new String[]{"gif"}, UI.getString("dialog.title.save.as", UI.getFileTypeName("dgm")));
  733.       if (var2 == null) {
  734.          return false;
  735.       } else {
  736.          try {
  737.             exportDiagramAsImage(var2, this.getCurrentDiagram());
  738.             boolean var3 = true;
  739.             return var3;
  740.          } catch (IOException var5) {
  741.             DialogFactory.showException(this, 131, var5);
  742.             boolean var4 = false;
  743.             return var4;
  744.          }
  745.       }
  746.    }
  747.  
  748.    public static void exportDiagramAsImage(File var0, Diagram var1) throws IOException {
  749.       if (!var0.getName().endsWith(".gif")) {
  750.          DialogFactory.stop((Component)null, "GIF is the only format support");
  751.       } else {
  752.          System.gc();
  753.          DiagramPrintContext var2 = new DiagramPrintContext((ElementDiagram)var1);
  754.          FileOutputStream var3 = new FileOutputStream(var0);
  755.          if (var0.getName().endsWith(".gif")) {
  756.             GifEncoder var4 = new GifEncoder(var2.getImage(), var3);
  757.             int var5 = UI.getColor(3).getRGB();
  758.             ((ImageEncoder)var4).setColorMangler(new ImageEncoder.BackgroundColorMangler(var5));
  759.             ((ImageEncoder)var4).encode();
  760.          }
  761.  
  762.          var3.close();
  763.          var2.dispose();
  764.          System.gc();
  765.       }
  766.    }
  767.  
  768.    private HtmlTableDoc createPrintDoc(PrintDialog var1) throws IOException {
  769.       HtmlTableDoc var2 = new HtmlTableDoc(UI.getPrintTemplate(), UI.getPrintSpool());
  770.       var2.scanTemplate(new PrintDocGenerator(this, var1), new String[]{UI.getString("print.elements"), UI.getString("print.attributes"), UI.getString("print.general.entities.external"), UI.getString("print.general.entities"), UI.getString("print.parameter.entities.external"), UI.getString("print.parameter.entities"), UI.getString("print.notations"), UI.getString("print.processing.instructions"), UI.getString("print.namespaces"), UI.getString("print.datatypes"), UI.getString("print.sourcetext"), UI.getString("print.diagram")}, new int[]{1, 2, 8195, 3, 8196, 4, 5, 6, 7, 8, 9, 0});
  771.       return var2;
  772.    }
  773.  
  774.    public Class getCurrentClass() {
  775.       return null;
  776.    }
  777.  
  778.    private void copySpoolToFile(File var1, File var2) {
  779.       DataInputStream var3 = null;
  780.       FileOutputStream var4 = null;
  781.  
  782.       try {
  783.          var3 = new DataInputStream(new FileInputStream(var1));
  784.          var4 = new FileOutputStream(var2);
  785.          int var5 = ((FilterInputStream)var3).available();
  786.          byte[] var6 = new byte[var5];
  787.          var3.readFully(var6);
  788.          var4.write(var6, 0, var5);
  789.       } catch (IOException var20) {
  790.          DialogFactory.showException(this, 130, var20);
  791.       } finally {
  792.          try {
  793.             if (var4 != null) {
  794.                var4.close();
  795.             }
  796.          } catch (IOException var19) {
  797.          }
  798.  
  799.          try {
  800.             if (var3 != null) {
  801.                ((FilterInputStream)var3).close();
  802.             }
  803.          } catch (IOException var18) {
  804.          }
  805.  
  806.       }
  807.  
  808.    }
  809.  
  810.    protected void printWindowToFile(PrintDialog var1) throws IOException {
  811.       File var2 = DialogFactory.askNewFile(this, "htm", UI.getString("dialog.title.save.as", UI.getFileTypeName("htm")));
  812.       if (var2 != null) {
  813.          HtmlTableDoc var3 = this.createPrintDoc(var1);
  814.          if (var3.hasTable()) {
  815.             this.copySpoolToFile(var3.getSpoolFile(), var2);
  816.          }
  817.  
  818.          var3.getSpoolFile().delete();
  819.       }
  820.    }
  821.  
  822.    protected void printWindowToPrinter(PrintDialog var1) {
  823.       if (HtmlPrinter.canPrint()) {
  824.          Object var2 = null;
  825.  
  826.          try {
  827.             HtmlTableDoc var10 = this.createPrintDoc(var1);
  828.             if (var10.hasTable()) {
  829.                PrintHtml10 var3 = HtmlPrinter.getPrintObject();
  830.                if (var3 != null) {
  831.                   var3.setHtmlToPrint(var10.getSpoolURL());
  832.                   var3.doPrinting(var10.getSpoolFile());
  833.                }
  834.             }
  835.          } catch (IOException var8) {
  836.             DialogFactory.showException(this, 124, var8);
  837.          } finally {
  838.             ;
  839.          }
  840.  
  841.       }
  842.    }
  843.  
  844.    protected String getText() {
  845.       return this.getSourceText().getText();
  846.    }
  847.  
  848.    public void printWindow(ActionEvent var1) {
  849.       PrintDialog var2 = XADialogFactory.askPrintWindows(Desktop.getDialogParent(var1), this);
  850.       if (!var2.userCanceled()) {
  851.          try {
  852.             if (((BasicDialog)var2).getDismissalButton() == 0) {
  853.                this.printWindowToFile(var2);
  854.             } else {
  855.                this.printWindowToPrinter(var2);
  856.             }
  857.          } catch (IOException var4) {
  858.             DialogFactory.showException(this, 124, var4);
  859.          }
  860.  
  861.       }
  862.    }
  863.  
  864.    public ElementDiagram getCurrentDiagram() {
  865.       return null;
  866.    }
  867.  
  868.    public JTextArea getSourceText() {
  869.       return null;
  870.    }
  871. }
  872.